// pages/category/index.js
import { request } from '../../request/index.js'

import regeneratorRuntime from '../../lib/runtime/runtime';

Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 左侧菜单数据
        leftMenuList: [],
        // 右侧商品数据
        rightGoodsList: [],
        // 被点击的左侧菜单
        currentIndex: 0,
        // 右侧滚动条距离顶部的距离
        scrollTop: 0,
    },
    // 总数据
    categoryList: [],

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        // 先判断一下本地存储中有没有旧的数据 
        // 没有旧数据   直接发送新请求
        // 有旧的数据    同时旧的数据也没有过期就使用本地存储中的旧数据即可
        // 1.  先获取本地存储的数据
        const Cates = wx.getStorageSync("cates");

        // 2. 判断
        if (!Cates) {
            this.getCateGoryList();
        } else {
            // 有旧的数据
            // 定义过期时间
            if (Date.now() - Cates.time > 1000 * 10) {
                this.getCateGoryList();
            } else {
                this.categoryList = Cates.data
                // 左侧菜单数据
                let leftMenuList = this.categoryList.map((item) => {
                    return item.cat_name
                })
                // console.log(leftMenuList);

                // 右侧商品数据
                let rightGoodsList = this.categoryList[0].children


                this.setData({
                    leftMenuList: leftMenuList,
                    rightGoodsList: rightGoodsList
                })
            }
        }




    },

    // 获取分类数据
    async getCateGoryList() {
        const result = await request({ url: '/categories' })
        this.categoryList = result
        // console.log(this.categoryList);
        // 把接口的数据存入到本地存储中
        wx.setStorageSync("cates", { time: Date.now(), data: this.categoryList });

        // 左侧菜单数据
        let leftMenuList = this.categoryList.map((item) => {
            return item.cat_name
        })
        // console.log(leftMenuList);
        // 右侧商品数据
        let rightGoodsList = this.categoryList[0].children

        this.setData({
            leftMenuList: leftMenuList,
            rightGoodsList: rightGoodsList
        })
    },


    // 左侧菜单的点击事件
    handleItemTap(e) {
        // console.log(e);
        const { index } = e.currentTarget.dataset

        let rightGoodsList = this.categoryList[index].children

        this.setData({
            currentIndex: index,
            rightGoodsList: rightGoodsList,
            // 重新设置滚动条距离
            scrollTop: 0,
        })
    }


})